﻿using System;
using System.Collections.Generic;
using System.Text;

namespace AndersLiu.RubikCubeModel
{
	/// <summary>
	/// 表示可以进行的旋转操作。
	/// </summary>
	public enum Action
	{
		R = 0x00000001,
		U = 0x00000002,
		F = 0x00000004,
		L = 0x00000010,
		D = 0x00000020,
		B = 0x00000040,
		X = 0x00000100,
		Y = 0x00000200,
		Z = 0x00000400,
		M = X | Rr | L,
		E = Y | Ur | D,
		S = Z | Fr | B,
		R2 = X | L,
		U2 = Y | D,
		F2 = Z | B,
		L2 = Xr | R,
		D2 = Yr | U,
		B2 = Zr | F,

		Rr = 0x00010000,
		Ur = 0x00020000,
		Fr = 0x00040000,
		Lr = 0x00100000,
		Dr = 0x00200000,
		Br = 0x00400000,
		Xr = 0x01000000,
		Yr = 0x02000000,
		Zr = 0x04000000,
		Mr = Xr | R | Lr,
		Er = Yr | U | Dr,
		Sr = Zr | F | Br,
		R2r = Xr | Lr,
		U2r = Yr | Dr,
		F2r = Zr | Br,
		L2r = X | Rr,
		D2r = Y | Ur,
		B2r = Z | Fr,
	}
}
